#pragma once

//二叉树定义结构
typedef char BTDataType;
typedef struct BiTreeNode
{
	BTDataType data;
	struct BiTreeNode* left;
	struct BiTreeNode* right;
}BiTreeNode, * BiTree;

// 队列结构
typedef BiTree QDataType;
typedef struct QListNode
{
	struct QListNode* _pNext;
	QDataType _data;
}QNode;
// 队列的结构
typedef struct Queue
{
	QNode* _front;
	QNode* _rear;
	int size;
}Queue;

//栈的结构
#define INITMAXSIZE 10
//支持动态增长的栈
//typedef int STDataType;//简单的栈数据的元素

//typedef struct
//{
//	BiTree ptr;
//	int task;
//}STDataType;//任务分析的栈数据的元素

typedef BiTree STDataType;//基于路径分析的栈数据的元素
typedef struct Stack
{
	STDataType* _a;
	int _top; // 栈顶
	int _capacity; // 容量
}Stack;//栈结构

//typedef struct Stack
//{
//	STDataType* _a;
//	int _top; // 栈顶
//	int _capacity; // 容量
//}Stack;//栈结构